import java.util.HashMap;

class Solution {
    public int totalFruit(int[] fruits) {
        int n=fruits.length,
                left=0,right=0,
                len=0;
        HashMap<Integer,Integer> hashmap=new HashMap<>();
        for(right=0;right<n;right++){
            int key=fruits[right];
            //如果key的值不存在则返回0,0+1=1
            hashmap.put(key,hashmap.getOrDefault(key,0)+1);
            while(hashmap.size()>2){
                int out=fruits[left];
                hashmap.put(out,hashmap.get(out)-1);
                if(hashmap.get(out)==0){
                    hashmap.remove(out);
                }
                left++;
            }
            len=Math.max(len,right-left+1);
        }
        return len;
    }
}
public class demo2 {
    public static void main(String[] args) {
        int[] fruits={3,3,3,1,2,1,1,2,3,3,4};
        int a=new Solution().totalFruit(fruits);
        System.out.println(a);
    }


}
